package com.xinshujia.wxxcx.service;

import com.xinshujia.wxxcx.pojos.entity.Device;
import com.xinshujia.wxxcx.pojos.info.FunctionResultInFo;
import com.xinshujia.wxxcx.pojos.info.ThresholdInfo;
import com.xinshujia.wxxcx.util.result.Result;

import java.util.List;

/**
 * @Author Cui Han
 * @Date 2024/5/17 17:35
 * @Description: TODO
 * @Version 1.0
 */
public interface ThresholdService {
    /**
     * 根据机床id查询当前机床阈值修改记录
     *
     * @param machineId
     * @return
     */
    List<ThresholdInfo> findThresholdInfo(Long machineId);

    /**
     * 查询当前阈值
     *
     * @return
     */
    List<FunctionResultInFo> findThreshold(String guid);

    /**
     * 报警开关
     *
     * @param value
     * @return
     */
    Result alarmSwitch(Integer value, String guid);

    /**
     * 清除报警
     *
     * @return
     */
    Result clearAlarm(String guid,Long machineId);

    /**
     * 修改阈值
     * @param
     * @return
     */
    Result updateThreshold(String guid,Long machineId,Double x,Double y,Double z);

    /**
     * 机床停机时将阈值改为保底值
     */
    void updateAllThreshold();

    /**
     * 机床加工时将阈值改为加工时的最大震动值
     */
    void updateThresholdTime();

    /**
     * 查找所以设备
     * @return
     */
    List<Device> findDevieve();


    /**
     * 修改设备基准值和保底值
     * @param standard
     * @param minimum
     * @param id
     * @return
     */
    Result updateDevice(Double standard, Double minimum,Integer id,Double percentage,Double operation);
}
